package com.lill.workflow.dao;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.lill.common.component.dao.IBaseDao;
import com.lill.workflow.model.WorkflowEmployeeModel;
import com.lill.workflow.model.WorkflowInfoModel;

/**
 * Dao
 *
 * @author lill
 * @date 2019-05-26 12:05:20
 */
public interface IWorkflowInfoDao extends IBaseDao<WorkflowInfoModel> {

	int saveAudit(Map<String, Object> auditStepMap);

	Map<String,Object> queryWorkflowInvalidNum(String workflowId);
	
	int saveCopy(Map<String, Object> copyStepMap);
	
	List<WorkflowEmployeeModel> selectAuditEmployee(String id);
	
	List<WorkflowEmployeeModel> selectCopyEmployee(String id);

	int deleteCopyCopyEmployee(String id);
	List<WorkflowInfoModel> queryListByOther(Map<String, Object> map);
	
	int freezeLogicByMap(Map<String, Object> copyStepMap);

	WorkflowEmployeeModel queryFirstStep(String workflowId);

	WorkflowEmployeeModel queryStepNext(Map<String, Object> mapNext);
	int selectCurrentSum(String id);

	List<WorkflowEmployeeModel> queryEmployees(HashMap<String, Object> paramsMap);
	List<WorkflowEmployeeModel> queryEmployeeFormal(HashMap<String, Object> paramsMap);
	WorkflowEmployeeModel  queryEmployeeFormalByName(Map<String, Object> hashMap);
	WorkflowEmployeeModel  queryEmployeeRenewByName(Map<String, Object> hashMap);
	List<WorkflowEmployeeModel> queryEmployeeRenew(HashMap<String, Object> paramsMap);
	List<WorkflowEmployeeModel> queryEmployeeFormalBoth(HashMap<String, Object> paramsMap);
	List<WorkflowEmployeeModel> queryEmployeeQuit(HashMap<String, Object> paramsMap);
	WorkflowEmployeeModel  queryEmployeeQuiteByName(Map<String, Object> hashMap);

	/**
	 * 根据流程编码查询所有审核人
	 * @param hashMap
	 * @return
	 */
	List<WorkflowEmployeeModel> querySteps(Map<String, Object> hashMap);
}
